Android 來一片吐司

個人覺得開發Android時Debug的三大利器

分別為:

  • Log貓 (LogCat)
  • Debugger
  • 吐司 (Toast)

Log貓不太會用放棄。

Debugger用來trace程式還不錯,但是日蝕的版面不太夠用(一定是我的螢幕太小 XD)

最後最方便使用的就是吐司了,但是吐司必須執行在UI Thread主線,可是偏偏又必須使用thread

Read More

Android 終止Thread

開發Android時,不免要使用到Thread,當要使用thread.stop()才發現Android棄用這個方法

下面是一個比較優雅關閉thread的方式。

StopThread.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
boolean RUN_THREAD = true;
//...

ocrThread = new Thread(){
public void run(){
while (RUN_THREAD){
//執行緒作業
}
}
};
ocrThread.start();
//...
protected void onDestroy() {
RUN_THREAD = false;
ocrThread.interrupt();
ocrThread = null;
}

Source :

Android Reboot

目前的使用方法為su -c "reboot",但是必須要有su的權限

MyReboot.java
1
2
3
4
5
6
7
try {
String[] commands = new String[] {"su", "-c", "reboot"};
Runtime.getRuntime().exec(commands);
return true;
} catch (IOException e) {
return false;
}

Method 1 : adb

su -c "reboot"
toolbox reboot
reboot -d 8 -f
busybox killall system_server
start|stop

Method 2 : PowerManager

Reboot.java
1
2
3
4
5
6
7
8
9
@TargetApi(8)
public void reboot() {
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
pm.reboot("recovery");
pm.reboot(null);

// not working:
// reboot(null);
}

Source:

Android 基本終端機指令

搬家到Hexo

Android Custom View

Creating a View Class

在Android中使用Custom View,必須尊崇以下規則

  1. 符合Android的標準
  2. Provide custom styleable attributes that work with Android XML layouts
  3. Send accessibility events
  4. 相容於其他安卓平台
Read More

rake

用途

更新git submodules

task :tast_name => :depended_task do
    #do something
    `git`
    puts "abc"
end
Read More

現在開始學Git

從頭建立 Repository:

mkdir sandbox
cd sandbox
git init
Read More

Python JSON 格式 & 內容比對

Read More

Android 自動重啟

新接手的APP有自動重啟的功能

一直眼殘找不到重啟功能的Code

只好再stackoverflow一下

還真的找到一樣的方法 XD

Read More